package per.leiyu.sys.utils;


import java.util.ArrayList;
import java.util.List;

/**
 * 我们这个Controller的作用就是返回给前端Json数据,用于前端用我们返回的json数据给我构造菜单树
 * ,因此设置的是RestController的风格,返回的都是json数据格式
 *这就不能转跳,我们需要重新创建一个Controller来实现跳转
 *
 * 用于将简单的集合转化为有层级关系的集合
 * 对应的使用时在数据库中查询菜单表,然后把菜单表(菜单表中午层次关系)
 * 根绝id 和pid组建为有层级关系的集合,然后就可以在页面中展示为有层级关系的类
 * @author leiyu
 */
public class TreeNodeBuilder {

    public static List<TreeNode> builder(List<TreeNode> nodes,Integer topPid){
        List<TreeNode> treeNodes = new ArrayList<>();
        for (TreeNode n1 : nodes) {
            if (n1.getPid() == topPid){
                treeNodes.add(n1);
            }
            for (TreeNode n2 : nodes){
                if (n2.getPid() == n1.getId()){
                    n1.getChildren().add(n2);
                }
            }
        }
        return treeNodes;
    }
}

